<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core"> 
    
    <!-- 
	<sumario>
	<objetivo>"Rastreabilidade"</objetivo>
	<autor>EDUARDO SANTOS DE OLIVEIRA</autor>
	<versao>1.0.0.0</versao>
	<data_criacao> 07.11.2012 </data_criacao>
	<data_ultima_alteracao> N/A </data_ultima_alteracao>
	<requisito_afetado> RF001.02 - Listar Usuarios </requisito_afetado>
	<descricao> Pagina de Pesquisa de Usuarios </descricao>
	</sumario>
    -->          

    <ui:composition template="/templates/interna.xhtml">

	<ui:define name="breadcrumb">

	    <h:form>

		<p:breadCrumb>
		    <p:menuitem value="#{msg.principal}"/>
		    <p:menuitem value="#{msg.cadastros}"/>
		    <p:menuitem value="#{msg.subMenuTabelasBasicas}"/>
		    <p:menuitem value="#{msg.usuarios}"/>
		    <p:menuitem value="#{msg.usuarioConsultar}"/>
		</p:breadCrumb>

	    </h:form>    

	</ui:define>

	<ui:define name="corpo">

	    <h:form>
                
                <style>
                    .info-qtd-registros{
                        float: right !important; 
                        margin-right: 2.5em; 
                        margin-top: 7px; 
                        vertical-align: bottom;
                    }
                </style>  
                
                <p:ajaxStatus onstart="painelStatus.show();" onsuccess="painelStatus.hide();"/>

		<p:fieldset id="fsDadosPrincipais" legend="#{msg.usuarioDadosUsuario}">
		    
		    <h:panelGrid columns="5">
			<h:panelGrid columns="1">
			    <p:outputLabel value="#{msg.usuarioMatricula}" for="itMatricula" />
                            <p:inputText id="itMatricula" value="#{consultarUsuario.parametros.matricula}" maxlength="8" style="width: 10em" onblur="upperCase(this)" onkeydown="return somenteNumero(event)"/>
			</h:panelGrid>
			<h:panelGrid columns="1">
                            <p:outputLabel value="#{msg.usuarioLogin}" for="itLogin" />
			    <p:inputText id="itLogin" value="#{consultarUsuario.parametros.login}" maxlength="20" style="width: 15em" onblur="upperCase(this)"/>
			</h:panelGrid>
			<h:panelGrid columns="1">
			    <p:outputLabel value="#{msg.usuarioNome}" for="itNome" />
			    <p:inputText id="itNome" value="#{consultarUsuario.parametros.nome}" maxlength="150" style="width: 25em" onblur="upperCase(this)"/>
			</h:panelGrid>
			<h:panelGrid columns="1">
			    <p:outputLabel value="#{msg.usuarioStatus}" for="somStatus" />
                            <p:selectOneMenu id="somStatus" value="#{consultarUsuario.parametros.status}" style="width: 17em" effectSpeed="1">
				<f:selectItem itemValue="" itemLabel="#{msg.opcao_combo_selecione}"/>
				<f:selectItem itemValue="true" itemLabel="#{msg.ativo.toUpperCase()}"/>
				<f:selectItem itemValue="false" itemLabel="#{msg.inativo.toUpperCase()}"/>
			    </p:selectOneMenu>
			</h:panelGrid>
			<h:panelGrid columns="1">
			    <p:outputLabel for="somGrupo" value="#{msg.usuarioGrupo}"/>
			    <p:selectOneMenu id="somGrupo" value="#{consultarUsuario.parametros.idGrupo}" style="width:21em">
				<f:selectItems value="#{consultarUsuario.listaGrupos}"/>
			    </p:selectOneMenu>
			</h:panelGrid>
		    </h:panelGrid>
		    
		    <p:spacer width="5" height="20"/>
		    
		    <p:commandButton value="#{msg.pesquisar}"
				     icon="ui-icon-search"
				     action="#{consultarUsuario.pesquisar}"
                                     process="@form"
                                     update="@form"
                                     style="width: 13em"
                                     oncomplete="dtUsuarios.getPaginator().setPage(0)"/>
		    
                    <p:spacer width="5"/>
                    
                    <p:commandButton value="#{msg.limparCampos}"
                                     action="#{consultarUsuario.limparCampos()}"
                                     icon="ui-icon-clear"
                                     update="@form"
                                     style="width: 13em"/>
                    
                    <p:spacer width="5"/>                      
		    
                    <p:commandButton value="#{msg.novo}" 
				     action="#{manterUsuario.setup}"
				     icon="ui-icon-plusthick" 
				     ajax="false"
				     rendered="#{loginUsuario.possuiPrivilegio('CADASTRAR_USUARIO_MANTER')}"
                                     style="width: 13em"/>
		    
                    <p:spacer width="5" rendered="#{loginUsuario.possuiPrivilegio('CADASTRAR_USUARIO_MANTER')}"/>
		    
                    <p:commandButton value="#{msg.voltar}" 
				     action="#{consultarUsuario.voltar}" 
				     ajax="false" 
				     icon="ui-icon-arrowreturnthick-1-w"
				     immediate="true"
                                     style="width: 13em"/>	
                    
                    <h:outputText id="otTotalUsuarios" value="Usuários Encontrados: #{consultarUsuario.rowCount}" rendered="#{consultarUsuario.rowCount > 0}" styleClass="texto-negrito-11 info-qtd-registros"/>
                    
		</p:fieldset>
		
		<div class="espacamento"/>

		<p:fieldset legend="#{msg.usuarioListaUsuarios}" 
			    rendered="#{not empty consultarUsuario.usuarioDataModel}">

		    <p:dataTable id="dtUsuarios" 
				 value="#{consultarUsuario.usuarioDataModel}"
				 var="usu"
				 rows="#{consultarUsuario.registrosPorPagina}"
				 rowsPerPageTemplate="#{consultarUsuario.linhasPorPagina}"
				 paginator="true"
				 paginatorPosition="bottom"
				 lazy="true"
				 emptyMessage="#{msg.nenhumRegistroEncontrado}"
                                 widgetVar="dtUsuarios">

                        <p:column headerText="#{msg.usuarioMatricula}" style="width:15%" sortBy="#{usu.matricula}">
			    #{usu.matricula}
			</p:column>

                        <p:column headerText="#{msg.usuarioLogin}" style="width:15%" sortBy="#{usu.login}">
			    #{usu.login}
			</p:column>
			
                        <p:column headerText="#{msg.usuarioNome}" style="width:45%" sortBy="#{usu.nome}">
			    #{usu.nome}
			</p:column>
                        
                        <p:column headerText="#{msg.usuarioStatus}" style="width:15%" sortBy="#{usu.ativo}">
			    #{usu.ativoStr}
			</p:column>			
			
			<p:column headerText="#{msg.acoes}" style="width:10%; text-align: center">
                            <p:commandButton id="btDetalharUsuario" icon="ui-icon-search" action="#{manterUsuario.detalhar}" ajax="false">
				<f:setPropertyActionListener value="#{usu.id}" target="#{manterUsuario.idUsuarioSelecionado}"/>
			    </p:commandButton>
			    <p:commandButton id="btExcluirUsuario" icon="ui-icon-closethick" onclick="pnConfirmacao.show()" rendered="#{loginUsuario.possuiPrivilegio('CADASTRAR_USUARIO_MANTER')}">
				<f:setPropertyActionListener value="#{usu}" target="#{consultarUsuario.usuarioSelecionado}"/>
			    </p:commandButton>
			    <p:tooltip for="btDetalharUsuario" value="#{msg.visualizar}" showEffect="fade" hideEffect="fade" />  
			    <p:tooltip for="btExcluirUsuario" value="#{msg.excluir}" showEffect="fade" hideEffect="fade" />  
			</p:column>
                        
                        <f:facet name="footer">
                            <div align="right">
                                <p:commandButton value="#{msg.exportar}"
                                                 icon="excel"
                                                 action="#{consultarUsuario.exportarPesquisaXLS()}"
                                                 immediate="true"
                                                 ajax="false"/>                            
                            </div>
                        </f:facet>                        

		    </p:dataTable>

		</p:fieldset>
                
		<ui:include src="/restrito/painel_confirmacao.xhtml">
		    <ui:param name="id" value="pnConfirmacao"/>
		    <ui:param name="mensagem" value="#{msg.deseja_excluir}"/>
		    <ui:param name="bean" value="#{consultarUsuario}"/>
		    <ui:param name="action" value="excluir"/>
		</ui:include>
		
	    </h:form>

	</ui:define>

    </ui:composition>

</html>
